package com.scienjus.smartqq;

import com.scienjus.of.OfUtil;
import com.scienjus.smartqq.callback.MessageCallback;
import com.scienjus.smartqq.client.SmartQQClient;
import com.scienjus.smartqq.model.*;

import java.io.IOException;
import java.util.List;

/**
 * @author ScienJus
 * @date 2015/12/18.
 */
public class Application {

	public static void main(String[] args) {
		// 创建一个新对象时需要扫描二维码登录，并且传一个处理接收到消息的回调，如果你不需要接收消息，可以传null
		SmartQQClient client = new SmartQQClient(new MessageCallback() {
			@Override
			public void onMessage(Message message) {
				// System.out.println(message.getContent());
			}

			@Override
			public void onGroupMessage(GroupMessage message) {
				// System.out.println(message.getContent());
			}

			@Override
			public void onDiscussMessage(DiscussMessage message) {
				// System.out.println(message.getContent());
			}
		});
		// 登录成功后便可以编写你自己的业务逻辑了
		// List<Category> categories = client.getFriendListWithCategory();
		// for (Category category : categories) {
		// System.out.println(category.getName());
		// for (Friend friend : category.getFriends()) {
		// System.out.println("————" + friend.getNickname());
		// }
		// }
		List<Group> groups = client.getGroupList();
		for (Group g : groups) {
			if (g.getName().contains("苏扬通知群")) {
				for (int i = 0; i < Integer.MAX_VALUE; i++) {
					try {
						double balance = OfUtil.getBalance();
						if (balance >= 0 && balance <= 5000) {
							client.sendMessageToGroup(g.getId(), "尊敬的用户您好，您在欧飞的账户余额为：" + balance + "。如有需要,请及时充值！");
						}
						Thread.sleep(10 * 60 * 1000);
					} catch (InterruptedException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				break;
			}

		}

		// 使用后调用close方法关闭，你也可以使用try-with-resource创建该对象并自动关闭
		try {
			client.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
